﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>ControlGetPos</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8"><LINK 
href="../css/commands.css" type=text/css rel=stylesheet><LINK media=print 
href="../css/print.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
<BODY>
<H1>ControlGetPos</H1>


<P>取得一个 control (控件)的位置和大小。</P>
<P class=CommandSyntax>ControlGetPos [, X, Y, Width, Height, Control, WinTitle, 
WinText, ExcludeTitle, ExcludeText] </P>
<h3>参数 </h3>
<TABLE borderColor=#c0c0c0 cellSpacing=0 cellPadding=3 width="100%" border=1>
  <TBODY>
  <TR>
    <TD>X, Y</TD>
    <TD>
      <P>储存 <EM>Control</EM> 左上角的 X 和 Y 坐标(以像素表示)的 variables 
      (变量)名称。这些坐标和目标窗口的左上角相关联，因而与被用在 <A 
      href="ControlMove.htm">ControlMove</A>&nbsp;中的坐标是一样的。</P>
      <P>如果 X 或 Y 被省略，相应的坐标将不被储存。</P></TD></TR>
  <TR>
    <TD width="15%">Width/Height</TD>
    <TD width="85%">
      <DIV>储存 <EM>Control</EM> 的高和宽(以像素表示)的变量名称。如果省略，相应的值将不被储存。</DIV></TD></TR>
  <TR>
    <TD>Control</TD>
    <TD>
      <P>可以是控件的名称/文本或 ClassNN (控件的 classname (类名)和序号)，它们都可以通过 Window Spy 
      来确定。当使用名称/文本时，matching behavior (匹配模式)通过 <A 
      href="SetTitleMatchMode.htm">SetTitleMatchMode</A> 决定。如果此 parameter 
      (参数)为空，目标窗口的顶端控件将被使用。</P>
      <P>要对一个控件的 HWND (窗口 handle (句柄))进行操作，将 <EM>Control </EM>参数留空并为 
      <EM>WinTitle</EM> 参数指定 <EM>ahk_id %ControlHwnd%</EM> (这样即使当 <A 
      href="DetectHiddenWindows.htm">DetectHiddenWindows</A> 是 Off 
      状态，它也能对隐藏的控件起作用)。一个控件的 HWND 往往由 <A href="ControlGet.htm#Hwnd">ControlGet 
      Hwnd</A>&nbsp;、<A href="MouseGetPos.htm">MouseGetPos</A>&nbsp;或 <A 
      href="DllCall.htm">DllCall</A>&nbsp;取得。</P></TD></TR>
  <TR>
    <TD>WinTitle</TD>
    <TD>目标窗口的标题或副标题(匹配模式由 <A 
      href="SetTitleMatchMode.htm">SetTitleMatchMode</A>&nbsp;决定)。如果此参数和后面的3个参数被省略， 
      <A href="../LastFoundWindow.htm">Last Found Window</A> 
      (最近找到的窗口)将被使用。如果此参数是字母 A 并且后面的三个参数被省略，active (激活的)窗口将被使用。要使用一个窗口类，指定 
      ahk_class 确切的类名(通过 Window Spy 显示)。要使用一个 <A href="Process.htm">process 
      identifier (PID)</A>&nbsp;(进程标识符)，指定 ahk_pid %包含PID的变量% 。要使用一个 <A 
      href="GroupAdd.htm">window group</A>&nbsp;(窗口组)，指定 ahk_group GroupName 
      。要使用一个窗口的 <A href="WinGet.htm">unique ID number</A>&nbsp;(唯一标识符编号)，指定 
      ahk_id %包含ID的变量%&nbsp;。通过指定 <A 
      href="../LastFoundWindow.htm#multi">multiple 
      criteria</A>&nbsp;(多个条件)缩小搜索范围。例如：<EM>My File.txt ahk_class 
  Notepad</EM></TD></TR>
  <TR>
    <TD>WinText</TD>
    <TD>如果用到，此参数必须是目标窗口的一个单独 text element (文本对象)的 substring (子字串)(像内置的 Window 
      Spy 工具显示的一样)。如果 <A href="DetectHiddenText.htm">DetectHiddenText</A> 是 ON 
      的状态，隐藏的文本对象将被探测。</TD></TR>
  <TR>
    <TD>ExcludeTitle</TD>
    <TD>标题含有此参数值的窗口将不被考虑。</TD></TR>
  <TR>
    <TD>ExcludeText</TD>
    <TD>文本含有此参数值的窗口将不被考虑。</TD></TR></TBODY></TABLE>
<h3>注意</h3>
<P>如果没有找到匹配的窗口或控件，输出变量将为空。</P>
<P>与改变一个控件的命令不同，ControlGetPos 没有一个自动的延迟( <A 
href="SetControlDelay.htm">SetControlDelay</A>&nbsp;不会影响它)。</P>
<P>要找出鼠标当前停留的控件的名称，使用 <A 
href="MouseGetPos.htm">MouseGetPos</A>&nbsp;。要获得一个窗口内所有控件的列表，使用 <A 
href="WinGet.htm">WinGet</A>&nbsp;。</P>
<P>窗口标题和文本是 case sensitive (区分大小写)的。隐藏的窗口将不被探测，除非 <A 
href="DetectHiddenWindows.htm">DetectHiddenWindows</A> 已被打开。</P>
<h3>相关命令</h3>
<P><A href="ControlMove.htm">ControlMove</A>, <A 
href="WinGetPos.htm">WinGetPos</A>, <A href="Control.htm">Control</A>, <A 
href="ControlGet.htm">ControlGet</A>, <A 
href="ControlGetText.htm">ControlGetText</A>, <A 
href="ControlSetText.htm">ControlSetText</A>, <A href="Control.htm"></A><A 
href="ControlClick.htm">ControlClick</A>, <A 
href="ControlFocus.htm">ControlFocus</A>, <A 
href="ControlSend.htm">ControlSend</A></P>
<h3>示例</h3><PRE class=NoIndent><SPAN class=CodeCom>; 这个起作用的例子将不断地更新并显示当前鼠标光标下的控件的名称和位置：</SPAN>
Loop
{
    Sleep, 100
    MouseGetPos, , , WhichWindow, WhichControl
    ControlGetPos, x, y, w, h, %WhichControl%, ahk_id %WhichWindow%
    ToolTip, %WhichControl%`nX%X%`tY%Y%`nW%W%`t%H%
}</PRE>
</BODY></HTML>
